public class Hanui {
    public static void main(String[] args) {
        move(3,'a','b','c');
    }

    /**
     *
     * @param n 移动的个数
     * @param a　起始位置
     * @param b　中间临时可用位置
     * @param c　结束位置
     */
    public static void move(int n, char a, char b, char c){
        // 移动前　n-1 个　从　a 到　b，可以用　c
        // 移动第　n 个 从　a 到　c,没有中间步骤
        // 移动前 n-1 个 从　b 到 c,可以用 a
        if (n == 1){
            System.out.println(n + "" + a + " -> " + n + "" + c);
        }
        else {
            move(n-1,'a','c','b');
            System.out.println(n + "" + a + " -> " + n + "" + c);
            move(n-1,'b','a','c');
        }
    }
}
